package org.dromara.demo.designPattern.建造者模式.builder;

import org.dromara.demo.designPattern.建造者模式.service.IMenu;
import org.dromara.demo.designPattern.建造者模式.service.impl.*;

/**
 * 建造者类具体的各种组装，都由此类实现。
 */
public class Builder {
    public IMenu levelOne(Double area) {
        return new DecorationPackageMenu(area, "豪华欧式")
                .appendCeiling(new LevelTwoCeiling()) // 吊 顶，二级顶
                .appendCoat(new DuluxCoat()) // 涂 料，多乐士

                .appendFloor(new ShengXiangFloor()); // 地板，圣象
    }
    public IMenu levelTwo(Double area){
        return new DecorationPackageMenu(area, "轻奢田园")
                .appendCeiling(new LevelTwoCeiling()) // 吊顶，二级顶
                .appendCoat(new LiBangCoat()) // 涂料，立邦
                .appendTile(new MarcoPoloTile()); // 地砖，马可波罗
    }

    public IMenu levelThree(Double area){
        return new DecorationPackageMenu(area, "现代简约")
                .appendCeiling(new LevelOneCeiling()) // 吊顶，二级顶
                .appendCoat(new LiBangCoat()) // 涂料，立邦
                .appendTile(new DongPengTile()); // 地砖，东鹏
    }

}
